package eu.irreality.dai.gameplay.entities;

import java.awt.Color;

import eu.irreality.dai.fov.LOSCriterion;
import eu.irreality.dai.gameplay.actions.movement.PassabilityCriterion;

/**
 * AliveEntities are all Entities that are alive: for instance, they can move.
 * They may have a name.
 * 
 */
public abstract class AliveEntity extends Entity
{

    protected String name;
    protected int speed;
    private PassabilityCriterion pasCriterion;
    private LOSCriterion losCriterion;

    public AliveEntity()
    {
    }

    public AliveEntity(char c, Color color)
    {
	super(c, color);
    }

    public int getSpeed()
    {
	return speed;
    }

    public PassabilityCriterion getPassabilityCriterion()
    {
	return pasCriterion;
    }

    public void setPassabilityCriterion(PassabilityCriterion pc)
    {
	pasCriterion = pc;
    }

    public LOSCriterion getLOSCriterion()
    {
	return losCriterion;
    }

    public void setLOSCriterion(LOSCriterion lc)
    {
	losCriterion = lc;
    }

    public String getName()
    {
	return name;
    }

    public void setName(String name)
    {
	this.name = name;
    }

    public void setSpeed(int speed)
    {
	this.speed = speed;
    }

}
